Autonomic computing is a self-managing computing model named after the human body's autonomic nervous system. An autonomic computing system is capable of controlling the functioning of computer applications and systems without input from the user, in the same way that the autonomic nervous system regulates body systems without conscious input from the individual. The goal of autonomic computing is to create self-executing systems capable of high-level functioning while shielding users from system complexity.
Workload characterization is a fundamental issue in autonomic computing. In order to effectively allocate system resources to a particular computing task, an autonomic system should have the ability to characterize the workload of the computing task.
An important aspect of workload characterization is determination of workload periodicity. Workload periodicity refers to the tendency of a workload to place cyclic demands on processing power. For example, if an e-commerce web site shows a peak load (i.e. maximum activity) between 5 PM and 8 PM, a minimum load between 5 AM and 8 AM, and decreasing/increasing loads between the two extremes, a workload periodicity analysis should reveal the workload to have a strong cyclic structure. The closer the activity pattern is to a perfect sine/cosine wave, the stronger the cyclic nature or “structure” of the workload. The strength of a cyclic structure would be decreased by the presence of random noise or by non-periodic events.
A workload periodicity analysis not only evidences a workload's historical characteristics, it may also be used predict workload trends into the future. Such workload forecasting may permit the processing efficiency of an autonomic computing system to be improved, as the system may be able to “preemptively” allocate resources, prior to expected peaks in processing demand.
As database systems move towards the autonomous computing model, a periodicity analyzer for database workloads would be desirable.